.TH dapptrace 1m  "$Date:: 2007-08-05 #$" "USER COMMANDS"
.SH NAME
dapptrace \- trace user and library function usage. Uses DTrace.
.SH SYNOPSIS
.B dapptrace
[\-acdeFlhoU] [\-u lib] { \-p PID | command }
.SH DESCRIPTION
dapptrace prints details on user and library function calls. By
default it traces user functions only, options can be used to
trace library activity.

Of particular interest is the elapsed times and on cpu times, which
can identify both function calls that are slow to complete, and those
which are consuming CPU cycles.

Since this uses DTrace, only the root user or users with the
dtrace_kernel privilege can run this command.
.SH OS
Solaris
.SH STABILITY
stable - needs the pid provider.
.SH OPTIONS
.TP
\-a
print all details
.TP
\-b bufsize
dynamic variable buffer size. Increase this if you notice dynamic
variable drop errors. The default is "4m" for 4 megabytes per CPU.
.TP
\-c
print function call counts
.TP
\-d
print relative timestamps, us
.TP
\-e
print elapsed times, us
.TP
\-F
print flow indentation
.TP
\-l
force printing of pid/lwpid per line
.TP
\-o
print on-cpu times, us
.TP
\-p PID
examine this PID
.TP
\-u lib
trace this library instead
.TP
\-U
trace all library and user functions
.PP
.SH EXAMPLES
.TP
run and examine the "df -h" command,
# 
.B dapptrace 
df -h
.PP
.TP
examine PID 1871,
# 
.B dapptrace
\-p 1871 
.PP
.TP
print using flow indents,
#
.B dapptrace
\-Fp 1871
.PP
.TP
print elapsed and CPU times,
#
.B dapptrace
\-eop 1871
.PP
.SH FIELDS
.TP
PID/LWPID
Process ID / Lightweight Process ID
.TP
RELATIVE
relative timestamps to the start of the thread, us (microseconds)
.TP
ELAPSD
elapsed time for this system call, us
.TP
CPU
on-cpu time for this system call, us
.TP
CALL(args)
function call name, with some arguments in hexadecimal
.PP
.SH DOCUMENTATION
See the DTraceToolkit for further documentation under the 
Docs directory. The DTraceToolkit docs may include full worked
examples with verbose descriptions explaining the output.
.SH EXIT
dapptrace will run forever until Ctrl\-C is hit, or if a command was
executed dapptrace will finish when the command ends.
.SH AUTHOR
Brendan Gregg
[Sydney, Australia]
.SH SEE ALSO
dappprof(1M), dtrace(1M), apptrace(1)

